/**
 * http://usejsdoc.org/
 * @web client
 */
var http = require('http'),
	url = require('url'),
	querystring = require('querystring');

/**创建http服务器*/
http.createServer(function(req,res){
	/**web客户端请求*/
	var pathname = url.parse(req.url).pathname;
	if('/favicon.ico' === pathname){//过滤浏览器默认请求 /favicon
		return;
	}
	
	/**根据请求的url路径，截取其中的module和controller*/
	var module = pathname.substr(1),
		str = url.parse(req.url).query,
		controller = querystring.parse(str).c,
		classObj = '';
	console.log(querystring.parse(str));//打印解析的参数信息
	try {//应用try catch来require一个模块，并捕获异常
		classObj = require('./'+module);
	} catch (err) {//异常错误时，打印错误信息
		console.log('chdir:'+err);
	}
	
	if(classObj){//require成功时，应用call方法，实现类中的方法调用执行
		classObj.init(res,req);
		try {
			classObj[controller].call();
		} catch (e) {
			res.writeHead( 404 , {"Content-Type":"text/plain"});
			res.end('can not find source!');
		}
	}else{//调用不存在的模块时，则默认返回404错误
		res.writeHead( 404 , {"Content-Type":"text/plain"});
		res.end('can not find source!');
	}
}).listen(8080,'127.0.0.1');